/*
 * @(#)CommonCodeBO.java $version 2013-3-1
 * 
 * Copyright 2013 NADO Group. All rights Reserved.
 * NADO PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.nado.iims2.community.bo;

import java.util.List;

import com.nado.extensions.util.DataMap;
import com.nado.iims2.community.model.CategoryModel;
import com.nado.iims2.community.model.CodeModel;

/**
 * The Class CommonCodeBO.
 * 
 * @author nado
 */
public interface CommonCodeBO {
	/**
	 * Gets common category list.
	 * 
	 * @return
	 */
	List<DataMap> getCommonCategoryList();
	/**
	 * Gets common category list total.
	 * 
	 * @return
	 */
	int getCommonCategoryListCount();
	/**
	 * Gets common code and name list.
	 * 
	 * @param categoryCd
	 * @return
	 */
	List<DataMap> getCommonCodeAndNameList(String categoryCd);
	/**
	 * Gets common category detail.
	 * 
	 * @param categoryCd
	 * @return
	 */
	CategoryModel getCommonCategoryDetail(String categoryCd);
	/**
	 * Gets common code list.
	 * 
	 * @param categoryCd
	 * @return
	 */
	List<DataMap> getCommonCodeList(String categoryCd);
	/**
	 * Gets common code list total.
	 * 
	 * @param categoryCd
	 * @return
	 */
	int getCommonCodeListCount(String categoryCd);
	/**
	 * Gets common code detail.
	 * 
	 * @param categoryCd
	 * @param commonCd
	 * @return
	 */
	CodeModel getCommonCodeDetail(String categoryCd, String commonCd);
	/**
	 * Write common category info.
	 * 
	 * @param model
	 * @return
	 */
	int writeCommonCategory(CategoryModel model);
	/**
	 * Remove common category info.
	 * 
	 * @param categoryCd
	 * @return
	 */
	int removeCommonCategory(String categoryCd);
	/**
	 * Write common code info.
	 * 
	 * @param model
	 * @return
	 */
	int writeCommonCode(CodeModel model);
	/**
	 * Remove common code info.
	 * 
	 * @param categoryCd
	 * @param commonCd
	 * @return
	 */
	int removeCommonCode(String categoryCd, String commonCd);
}
